The present invention relates to computer implemented methods for enabling users to select a font having a desired set of visual characteristics from a collection of available fonts.
A set of characters with a particular design is called a xe2x80x9ctypefacexe2x80x9d. Digital typefaces, such as the PostScript(copyright) products available from Adobe Systems Incorporated of San Jose, Calif., generally include instructions for rendering characters in a particular font. The term xe2x80x9cfontxe2x80x9d refers to an instance of a typeface, e.g., a particular weight and point size. In the following discussion, however, the terms xe2x80x9ctypefacexe2x80x9d and xe2x80x9cfontxe2x80x9d are used interchangeably to refer to a set of characters having a set of particular visual characteristics.
Many thousands of digital typefaces are available for use with computer implemented word processing and desktop publishing applications, although most users have access to far fewer due to memory constraints and cost. Even so, a user may have access to a large number of individual fonts on a given system; the proliferation of the World Wide Web and electronic commerce has given users immediate access to even more.
To use a font other than a system""s default font, the user must select the font from the collection of available fonts installed on the user""s computer. To use fonts other than those already installed the user must identify the desired fontxe2x80x94for example by locating the font in a font database stored on local or remote memory devices, including locations on the World Wide Webxe2x80x94and install it for use. In some environments, the particular program, or even the user""s computer, must be restarted before the newly installed font is available for use.
Traditional font selection programs typically require users to select fonts from alphabetical listings that display only the name of each available font. To find a desired font, the user must therefore either know the name of the desired font or examine a sample of each available font to determine its visual characteristics. One such selection tool is the Motif Font Selection Panel, which is available as part of the Display PostScript Toolkit for X from Adobe Systems Incorporated of San Jose, Calif.
A more visual font selection tool allows the user to apply a set of filters to the collection of available fonts and view a font or group of fonts having characteristics selected by those filters. An example of this kind of tool is the Motif Font Sampler, also part of the Display PostScript Toolkit for X. Like the alphabetical listings described above, however, such tools rely on font names to describe the visual attributes of available fonts, and do not offer the user the opportunity to navigate visually the universe of available fonts to locate a font or fonts having desired visual characteristics.
The invention provides methods for enabling a user to select a font from a collection of available fonts, and apparatus (including computer program products) implementing or embodying the methods of the invention.
In general, in one aspect, the invention features a method of enabling a user to select a font from a collection of available fonts. The method includes receiving font data identifying each font in a collection of available fonts and identifying a location in a navigation space for each available font, where the navigation space is defined by a set of navigation attributes corresponding to font characteristics and each location is defined by a set of navigation attribute values for all navigation attributes defining the navigation space; receiving from the user interactively a first navigation input that specifies a first input value for each of the navigation attributes, where the first input values define a first target location in the navigation space; and using the first target location to identify a first candidate font in the collection of available fonts by identifying a font with a location in the navigation space identical to the first target location if there is such a font in the collection of available fonts, and, if the collection of available fonts does not contain such a font, identifying a font in the collection of available fonts that is close to the first target location in the navigation space.
Implementations of the invention can include one or more of the following advantageous features. The method also includes receiving from the user interactively a second navigation input that specifies a second input value for one or more navigation attributes, where the second input values and the first input values define a second target location in the navigation space; and using the second target location to identify a second candidate font in the collection of available fonts. The first input value is obtained by determining the navigation space location of a current font; receiving a first input value designating a desired change in an attribute value of the current font; and using the navigation space location of the current font and the first input value designating the desired change to define the first target location. The first target location defines a volume in the navigation space and the font with a location in the navigation space identical to the first target location includes a font with a location within the volume defined by the first target location. The method also includes enabling the user to select the first candidate font for use in an application running on a computer. The collection of available fonts includes a collection of installed fonts. The collection of available fonts includes a collection of fonts stored at a location on the World Wide Web. The method also includes downloading the new font from the location on the World Wide Web and installing the new font in the computer. The navigation attributes are selected from the group consisting of family type, serif style, weight, proportion, contrast, stroke variation, arm style, letter form, midline and X height.
In general, in another aspect, the invention features a method of enabling a user to select a font from a collection of available fonts. The method includes receiving font information identifying each font in a collection of available fonts, the font information including a set of attribute values describing the appearance of each font; identifying a set of navigation attributes defining a navigation space, where each font in the collection of available fonts has a location in the navigation space defined by the font""s attribute values; identifying the attribute values of a current font; receiving from the user one or more first input values designating a desired change in the appearance of the current font and corresponding to a change in one or more attribute values of the current font; using one or more attribute values of the current font and the first input values to define a first target location; and using the first target location to identify a first candidate font in the collection of available fonts by identifying a font with a location in the navigation space identical to the first target location if there is such a font in the collection of available fonts, and, if the collection of available fonts does not contain such a font, identifying a font in the collection of available fonts that is close to the first target location in the navigation space.
Implementations of the invention can include one or more of the following advantageous features. The method also includes receiving from the user one or more second input values designating a desired change in the appearance of the current font or the first candidate font; using the second input values to define a second target location in the navigation space; and using the second target location to identify a second candidate font in the collection of available fonts by identifying a font with a location in the navigation space identical to the second target location if there is such a font in the collection of available fonts, and, if the collection of available fonts does not contain such a font, identifying a font in the collection of available fonts that is close to the second target location in the navigation space.
In general, in another aspect, the invention features a method of enabling a user to select a font from a collection of available fonts. The method includes receiving font data identifying each font in a collection of available fonts and identifying a location in a font space for each available font, where the font space is defined by a set of font attributes and each location is defined by attribute values for all of the font attributes defining the font space; identifying a set of navigation attributes defining a navigation space; receiving from a user interactively a navigation input that specifies an input value for each of the navigation attributes, where the input values define a target location in the navigation space; and using the target location to identify a candidate font in the collection of available fonts by identifying a font with a location in the navigation space identical to the target location if there is such a font in the collection of available fonts, and, if the collection of available fonts does not contain such a font, identifying a font in the collection of available fonts that is close to the target location in the navigation space.
Implementations of the invention can include one or more of the following advantageous features. Each navigation attribute is a font attribute. At least one navigation attribute is function of a plurality of font attributes. The navigation space is a proper subspace of the font space. At least one input navigation attribute value defines a range of font attribute values. The target location defines a volume in the navigation space and the font with a location in the navigation space identical to the target location includes a font with a location within the volume defined by the target location.
In general, in another aspect, the invention features a computer program product, tangibly stored on a computer-readable medium, for enabling a user to select a font from a collection of available fonts. The program includes instructions to receive font data identifying each font in a collection of available fonts and identifying a location in a navigation space for each available font, where the navigation space is defined by a set of navigation attributes, each of which corresponds to a visual font characteristic, and where each location is defined by a set of navigation attribute values for all navigation attributes defining the navigation space; receive from the user interactively a first navigation input that specifies a first input value for each of the navigation attributes, where the first input values define a first target location in the navigation space; and use the first target location to identify a first candidate font in the collection of available fonts by identifying a font with a location in the navigation space identical to the first target location if there is such a font in the collection of available fonts, and, if the collection of available fonts does not contain such a font, identifying a font in the collection of available fonts that is close to the first target location in the navigation space.
Implementations of the invention can include one or more of the following advantageous features. The program also includes instructions to receive from the user interactively a second navigation input that specifies a second input value for one or more navigation attributes, where the second input values and the first input values define a second target location in the navigation space; and use the second target location to identify a second candidate font in the collection of available fonts. The instructions to receive the first input value for each attribute in the set of navigation attributes include instructions to determine the navigation space location of a current font; receive a first input value designating a desired change in an attribute value of the current font; and use the attribute values defining the navigation space location of the current font and the first input value designating the desired change to define the first target location. The first target location defines a volume in the navigation space and the font with a location in the navigation space identical to the first target location includes a font with a location within the volume defined by the first target location. The program also includes instructions to enable the user to select the first candidate font for use in an application running on a computer. The collection of available fonts includes a collection of installed fonts. The collection of available fonts includes a collection of fonts stored at a location on the World Wide Web. The program includes instructions to download the new font from the location on the World Wide Web and install the new font in the computer. The navigation attributes are selected from the group consisting of family type, serif style, weight, proportion, contrast, stroke variation, arm style, letter form, midline and X height.
In general, in another aspect, the invention features a computer program product, tangibly stored on a computer-readable medium, for enabling a user to select a font from a collection of available fonts. The program includes instructions to receive font information identifying each font in a collection of available fonts, where the font information includes a set of attribute values describing the visual appearance of each font; identify a set of navigation attributes defining a navigation space, where each font in the collection of available fonts has a location in the navigation space defined by the attribute values for the font; identify the attribute values of a current font; receive from the user one or more first input values designating a desired change in the appearance of the current font and corresponding to a change in one or more attribute values of the current font; use one or more attribute values of the current font and the first input values to define a first target location; and use the first target location to identify a first candidate font in the collection of available fonts by identifying a font with a location in the navigation space identical to the first target location if there is such a font in the collection of available fonts, and, if the collection of available fonts does not contain such a font, identifying a font in the collection of available fonts that is close to the first target location in the navigation space.
Implementations of the invention can include one or more of the following advantageous features. The program includes instructions to receive from the user one or more second input values designating a desired change in the appearance of the current font or the first candidate font; use the second input values to define a second target location in the navigation space; and use the second target location to identify a second candidate font in the collection of available fonts by identifying a font with a location in the navigation space identical to the second target location if there is such a font in the collection of available fonts, and, if the collection of available fonts does not contain such a font, identifying a font in the collection of available fonts that is close to the second target location in the navigation space.
In general, in another aspect, the invention features a computer program product, tangibly stored on a computer-readable medium, for enabling a user to select a font from a collection of available fonts. The program includes instructions to receive font data identifying each font in a collection of available fonts, where the font data identifies a location in a font space for each available font, the font space is defined by a set of font attributes, and each location is defined by attribute values for all font attributes defining the font space; identify a set of navigation attributes defining a navigation space; receive from a user interactively a navigation input that specifies an input value for each attribute in the set of navigation attributes, where the input values define a target location in the navigation space; and use the target location to identify a candidate font in the collection of available fonts by identifying a font with a location in the navigation space identical to the target location if there is such a font in the collection of available fonts, and, if the collection of available fonts does not contain such a font, identifying a font in the collection of available fonts that is close to the target location in the navigation space.
Implementations of the invention can include one or more of the following advantageous features. Each navigation attribute is a font attribute. At least one navigation attribute is function of a plurality of font attributes. The navigation space is a proper subspace of the font space. At least one input navigation attribute value defines a range of font attribute values.
In general, in another aspect, the invention features a system for enabling a user to select a font from a collection of available fonts. The system includes means for receiving font data identifying each font in a collection of available fonts and identifying a location in a navigation space for each available font, where the navigation space is defined by a set of navigation attributes, each navigation attribute corresponds to a visual font characteristic, and each location is defined by a set of navigation attribute values for all navigation attributes defining the navigation space; means for receiving from the user interactively a first navigation input that specifies a first input value for each of the navigation attributes, where the first input values defines a first target location in the navigation space; and means for using the first target location to identify a first candidate font in the collection of available fonts by identifying a font with a location in the navigation space identical to the first target location if there is such a font in the collection of available fonts, and, if the collection of available fonts does not contain such a font, identifying a font in the collection of available fonts that is close to the first target location in the navigation space.
Implementations of the invention can include one or more of the following advantageous features. The system includes means for receiving from the user interactively a second navigation input that specifies a second input value for one or more navigation attributes, where the second input values and the first input values define a second target location in the navigation space; and means for using the second target location to identify a second candidate font in the collection of available fonts. The means for receiving a first input value includes means for determining the navigation space location of a current font; means for receiving a first input value designating a desired change in an attribute value of the current font; and means for using the attribute values defining the navigation space location of the current font and the first input value designating the desired change to define the first target location.
Advantages that can be seen in implementations of the invention include one or more of the following. The user can graphically navigate the collection of available fonts based on visual relationships between fonts. As a result, the user can search for a desired font by designating changes from an initial or default font in one or more particular visual features. By interactively searching the collection of available fonts, the user can navigate gradually towards the desired font. Searching a database of font information that can be separate from the fonts themselves saves memory and computation time. The user can search a database of font information for installed fonts or fonts stored on local or remote memory devices, including devices associated with locations on the World Wide Web. The user can identify, purchase and download fonts not available on the user""s computer.
The details of one or more embodiments of the invention are set forth in the accompanying drawings and the description below. Other features and advantages of the invention will become apparent from the description, the drawings, and the claims.